S. Y. Kung and H. K. Liu proposed a method of implementation of a neural network associative memory via an inner-product array processor in a paper titled "An optical inner-product array processor for associative retrieval," SPIE, Vol. 613, Nonlinear Optics and Applications, pp. 214-219 (1986). H. K. Liu suggested an optical implementation of a programmable associative recall system in a concept paper titled "Real-time optical associative retrieval technique," Optical Engineering, Vol. 25, No. 7, pp. 853-856, July (1986). The main objective was that the processor be implemented in coherent optics as shown in FIG. 1 using the replication capability of a holographic optical element called a multifocus hololens 10 described by Y. Z. Liang in a paper titled "Multifocus dichromated gelatin hololens," Applied Optics, Vol. 22, No 21, pp. 3451-3456, (1986). The inner-products formed are between an N-tuple input vector initially applied via a liquid crystal spatial light modulator 11 and each of a plurality of N-tuple vectors stored in an electronically addressable transmission-type spatial light modulator 12, such as a liquid crystal TV spatial light modulator (LCTV SLM) described by H. K. Liu, et al., "Liquid crystal television spatial light modulators," Applied Optics, Vol 28, No. 22, pp 4772-4780 (1989). The N-tuple vectors are all represented by 2-D image arrays.
The input vector is replicated by the multifocus hololens 10 to provide a number M of input vectors for multiplication with each of M vectors stored in the electronically addressable spatial light modulator 12. The inner products are passed through a diffuser 13 that averages the light intensity of each vector product to yield M inner-product scalars. The scalars are then multiplied by the same M vectors stored in a second spatial light modulator 14 identical to the spatial light modulator 12, thus completing the process of forming the M inner-product vectors (weighted) which are summed by a multifocus hololens 15 that plays a reverse role from the multifocus hololens 10. A television camera (or CCD detector array) 16 detects the output matrix which is then processed through an electronic thresholding means 17. The thresholded matrix is fed back as an input vector through an electronically addressable spatial light modulator 18. This process of producing and feeding back a threshold matrix is reiterated until convergence is reached and the output threshold matrix becomes stable. The stable threshold matrix displayed on a screen 19 is the one of M stored vectors that best matches the initial input vector.
The source of energy for this optical system is an argon laser 20. A lens 21 collimates the laser beam which is then divided by a beam splitter 22. Mirrors 23 and 24 and a beam splitter 25 complete the optical inner-product neural network computation model.